//
//  NSObject+localDataBaseCache.h
//  webViewLocal
//
//  Created by wjc on 2021/12/3.
//

#import <Foundation/Foundation.h>
#import "WJCDefine.h"

NS_ASSUME_NONNULL_BEGIN

@interface NSObject (localDataBaseCache)
#pragma mark --- 调用数据库操作钱,请确保self.mjclass有对象,否则会被过滤操作
///建表
-(void)createNewDataBaseWithTableView;


/// 增
///常规来讲调用,调用update方法会自行检查数据库的重复性,在没有的情况下会自行调用当前
///直接调用的情况下回直接插入一条数据,当前方法不会去检查数据库的重复性
/// @param content 新增内容
-(void)insertNewDataBaseWithDic:(NSDictionary*)content;
///删
-(void)DELETENewDataWithType:(NSDictionary*)type andDeleteSub:(BOOL)deleteSub;


/// 查
/// @param type 查表条件
/// @param getSub 是否关联子数据-(多表查询)  需在模型内实现wjc_localDataBaseUnion(父类模型字段:关联子类内模型字段.例:@"userid":@"user.id")配置方法,否则内部将会过滤
/// 为防止递归死循环 请避免a.sub=b.sub b.suub=a.suub这类嵌套
/// @param onlyValue  是否单个返回是,则返回获取到的第一条,否,则以数组形式返回
/// @param success 查表回调
-(void)getNewDataBaseWithLimitType:(NSDictionary*)type andGetSub:(BOOL)getSub andOnlyValue:(BOOL)onlyValue andsuccess:(void(^)(id obj))success;
///改
-(void)updateNewDataBaseWithDic:(NSDictionary*)content andLimitType:(NSDictionary*)type;

@end

NS_ASSUME_NONNULL_END
